home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / comms_w / wlprs40.zip / WLPR2.ASC < prev    next >
Text File  |  1994-03-16  |  10KB  |  261 lines

  1.                                                            
  2.                                                           1
  3.                              
  4.                              
  5.                              
  6.                              
  7.                              
  8.                              
  9.                              
  10.                              
  11.                              
  12.                              
  13.                              
  14.                              
  15.                          WLPR2.DLL
  16.                         Version 2.0
  17.                              
  18.                              
  19.                        User's Guide
  20.                              
  21.                              
  22.                       March 16, 1994
  23.                              
  24.                              
  25.                              
  26.                              
  27.                              
  28.                              
  29.                              
  30.                         Thomas Heil
  31. This  document was created with Microsoft Word for  Windows
  32. 2.0
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39. DISCLAIMER:
  40.  
  41. THE  SOFTWARE  IS PROVIDED AS-IS. THE AUTHOR DISCLAIMS  ALL
  42. WARRANTIES,  EITHER EXPRESS OR IMPLIED, INCLUDING  BUT  NOT
  43. LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
  44. FOR  A  PARTICULAR  PURPOSE. NO LIABILITY  IS  ASSUMED  FOR
  45. DAMAGES, DIRECT OR CONSEQUENTIAL, WHICH MAY RESULT FROM THE
  46. USE OF THIS SOFTWARE.
  47.  
  48. (C) Copyright 1992-94 by Thomas Heil.
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. All  trademarks appearing in this document are the property
  60. of their respective owners.
  61.  
  62.  
  63. Table of Contents
  64.  
  65. Table of Contents                                         3
  66. Introduction                                              5
  67. Copyright:                                                5
  68. Author:                                                   5
  69. New Features in Version 2.0                               6
  70. Setting Properties for Remote Queues                      6
  71. DLL Settings                                              8
  72. Known problems:                                           8
  73. Troubleshooting:                                          8
  74.  
  75.  
  76. Introduction
  77.  
  78. WLPR2.DLL  contains a set of API functions  that  allow  an
  79. application  to  print  to  remote  printers,  query  their
  80. queues,  and  remove  print jobs from their  queues.  These
  81. printers  must  understand the LPR/LPD  protocol  which  is
  82. defined  in RFC 1179. An application  that calls  this  DLL
  83. does   not   need   to   have  any  knowledge   about   the
  84. implementation details. It may call functions in  this  DLL
  85. to  set/modify  properties for individual queues,  such  as
  86. number  of copies to print, whether a banner page shall  be
  87. generated, etc.
  88.  
  89.  
  90. Copyright:
  91.  
  92. This   DLL  is  Copyright  (C)  1993-94  by  Thomas   Heil.
  93. Redistribution  of this DLL is allowed only  together  with
  94. the documentation (as MS Word for Windows 2.0 .DOC file and
  95. as plain ASCII .ASC file). This software may not be sold by
  96. itself. Applications that use this DLL may be sold together
  97. with the DLL and its documentation included royalty free.
  98.  
  99. If  you  want  to  write a similar DLL that implements  the
  100. WLPR2 API for another protocol, please feel free to contact
  101. me for implementation details.
  102.  
  103.  
  104. Author:
  105.  
  106. Thomas Heil
  107. Hindenburgstr. 50
  108. 41352 Korschenbroich
  109. E-Mail: th.heil@kfa-juelich.de (Internet)
  110.  
  111. Phone: +49 2161 644895
  112. Fax: +49 2161 644337
  113.  
  114.  
  115. New Features in Version 2.0
  116.  
  117. The DLL was totally restructured. Now all protocol relevant
  118. stuff is totally included in the DLL. E.g. with version 1.x
  119. an  application had to have an own dialog for  setting  the
  120. queue properties. Now that is all handled by the DLL itself
  121. which  exports  an  appropriate function.  This  makes  the
  122. calling   application  independant  of  the  implementation
  123. specifics of the transport protocol, and allows it  to  use
  124. several  different Protocol DLLs that offer the  WLPR2  API
  125. side by side.
  126.  
  127. This DLL is not compatible with WLPR.DLL Version 1.x.
  128.  
  129.  
  130. Setting Properties for Remote Queues
  131.  
  132. If   your   application  allows  you  to  view/change   the
  133. properties  of a remote queue, you get a dialog that  looks
  134. like this:
  135.  
  136.  
  137.  
  138. In this dialog, the following settings can be made:
  139.  
  140. Send     header If  checked,  a header page is generated  with
  141. page:           each  print  job.  If not checked,  no  header
  142.                 page  is  printed.  Note that  this  might  be
  143.                 overridden  by  the  settings  of  the  remote
  144.                 print server (default: on).
  145. Copies:         Set  the  number of copies that  a  print  job
  146.                 generates (default: 1).
  147. Class:          Sets  the job class of print jobs that  go  to
  148.                 this   queue.   This  class  name   might   be
  149.                 interpreted by the print server in  some  way.
  150.                 Check    with   your   local   print    server
  151.                 administration  for  classes  that  have  some
  152.                 relevance (default: none).
  153. File Type:      The  given file types are those that RFC  1179
  154.                 defines,  although  normally  just   a   small
  155.                 subset  is really needed. The problem is  that
  156.                 not  every  server accepts all types,  so  you
  157.                 might  have  to try a bit around.  You  should
  158.                 take  the  following approach:  If  PostScript
  159.                 files  or plain ASCII files are sent  to  this
  160.                 queue, you should select "Formatted File".  If
  161.                 you  send  binary  printer data  (e.g.  output
  162.                 from  a Windows printer driver) to this queue,
  163.                 you  should select "Raw Print File". Note that
  164.                 the type "Postscript File" is not accepted  by
  165.                 a lot of LPD implementations.
  166.                 Plain  ASCII files can also be sent  with  the
  167.                 setting   "Print  with  'pr'".  This  normally
  168.                 means  that  the  file is  sent  through  some
  169.                 formatting  filter on the print  server  which
  170.                 allows  header  lines to  be  written  on  the
  171.                 output.  If  you  select  this  type  you  can
  172.                 specify  the  desired  page  header  line   as
  173.                 "Document  Title", and also modify margin  and
  174.                 line width settings.
  175.                 If  you  select TROFF/DITROFF output  you  can
  176.                 specify which fonts shall be used for output.
  177.                 The  file  types "Formatted File"  and  "Print
  178.                 with  'pr'"  cause  the  print  file  to   run
  179.                 through     a     filter     that     converts
  180.                 CarriageReturn/LineFeed sequences to a  single
  181.                 LineFeed.
  182. Long query      If  checked,  the  user gets  a  more  verbose
  183.                 listing   when  querying  the  remote   queue.
  184.                 Otherwise he gets a standard listing.
  185.  
  186. When  the dialog contains just an "Ok" button, the settings
  187. are  saved  when  this button is pressed. When  the  dialog
  188. contains an additional "OK / Save" button and the user just
  189. presses  the  "Ok" button, the settings apply only  to  the
  190. action  that  the calling application is about to  perform,
  191. but they are not permanently changed. If, in this case, you
  192. want  to make your changes permanent, press the "Ok / Save"
  193. button.
  194.  
  195. The last button "DLL Setup..." allows the user to influence
  196. how  the  DLL  operates  in  general.  These  settings  are
  197. described below in the section "DLL Settings".
  198.  
  199.  
  200. DLL Settings
  201.  
  202. The  following settings that influence the behaviour of the
  203. DLL  can be made in the "DLL Setup..." dialog. Don't change
  204. them  unless  you think there is a reason to  do  so  (e.g.
  205. connection problems).
  206.  
  207. Debug mode             If checked, the DLL operates in
  208.                debug mode. See the section
  209.                "Troubleshooting" below for details on this
  210.                mode. Default is off.
  211. Reset connection after LPQ    If checked, the socket
  212.                connection is reset after an LPQ or LPRM
  213.                request. This was necessary for some older
  214.                versions of a few TCP/IP stacks in order to
  215.                reuse  TCP port numbers. Default is off.
  216. Linger time            If 0, the "linger" socket option for
  217.                connections is explicitly set to
  218.                SO_DONTLINGER.
  219.                If >0, the "linger" option is set to
  220.                SO_LINGER (enabled), and the number
  221.                specified determines the timeout in
  222.                seconds.
  223.                If -1, the socket's linger setting remains
  224.                the same as it was when WINSOCK.DLL created
  225.                the socket.
  226.                Default is -1 (linger setting remains
  227.                unchanged). If you have problems with
  228.                connections that sometimes work and
  229.                sometimes not (or fail every other time)
  230.                set this value to something different than
  231.                -1.
  232.  
  233.  
  234.  
  235. Known problems:
  236.  
  237.    Some  WINSOCK  implementations create  problems  when  a
  238.    program   tries   to   close   a   non-blocking   socket
  239.    gracefully. The problem can be circumvented  by  setting
  240.    the  TCP  linger option for the socket connection  to  a
  241.    non-zero timeout value in the "DLL Setup..." dialog.
  242.  
  243.  
  244. Troubleshooting:
  245.  
  246. If you have problems with an application that prints by use
  247. of  this  DLL,  please don't hesitate to  contact  me.  But
  248. please  do  one  thing  before that  so  that  I  get  some
  249. information  about what is happening: Switch the  DLL  into
  250. debug  mode  in  the  "DLL  Setup..."  dialog.  After  this
  251. WLPR2.DLL  writes  a debug log to the file  C:\WLPRDEB.LST.
  252. (Note  that  you have to stop all programs using  WLPR2.DLL
  253. and  restart  them to get this effective because  this  INI
  254. entry  is  checked   at  DLL  load  time).  This  file   is
  255. overwritten  with each LPR/LPQ/LPRM request. When  you  did
  256. one  of  those  requests and you got an error,  immediately
  257. rename the above file to some other name before you execute
  258. another  request. Then mail me this file. When all problems
  259. are resolved you can disable debug mode again.
  260.  
  261.